software development roller contact moving contact software linux solar embedded embedded systems electricity development java power energy